package edu.eam.paii.proyecto.entidades;

import java.io.Serializable;
import java.util.List;

import javax.persistence.*;

@Entity
/**
 * @author Hector Bedoya Ortegon
 * @author Felipe Suarez Bedoya
 * Esta entidad permite administrar la informacion pertinente a las ciudades.
 */


/**
 * Name quevery 
 */
@NamedQueries(value = { @NamedQuery(name="Ciudad.listar", 
		query="select C from Ciudad C"),
		
	
})
public class Ciudad implements Serializable {
	@Id
	private int id_Ciudad;
	private String nombre;
	@ManyToOne
	@JoinColumn(name = "id_Departamento")
	private Departamento ciudadDepartamento;

	@OneToMany(mappedBy = "direccionCiudad", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	private List<Direccion> direcciones;

	public Ciudad(int id_Ciudad, String nombre,
			Departamento ciudadDepartamento, List<Direccion> direcciones) {
		super();
		this.id_Ciudad = id_Ciudad;
		this.nombre = nombre;
		this.ciudadDepartamento = ciudadDepartamento;
		this.direcciones = direcciones;
	}

	public int getId_Ciudad() {
		return id_Ciudad;
	}

	public void setId_Ciudad(int id_Ciudad) {
		this.id_Ciudad = id_Ciudad;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Departamento getCiudadDepartamento() {
		return ciudadDepartamento;
	}

	public void setCiudadDepartamento(Departamento ciudadDepartamento) {
		this.ciudadDepartamento = ciudadDepartamento;
	}

	public List<Direccion> getDirecciones() {
		return direcciones;
	}

	public void setDirecciones(List<Direccion> direcciones) {
		this.direcciones = direcciones;
	}

}
